package com.tecode.mapper;

import com.tecode.bean.Favorite;
import org.apache.ibatis.annotations.Param;

import javax.xml.crypto.Data;
import java.util.Date;
import java.util.List;

public interface FavoriteMapper {
    int deleteByPrimaryKey(Integer favoriteid);

    int insert(Favorite record);

    int insertSelective(Favorite record);

    Favorite selectByPrimaryKey(Integer favoriteid);

    int updateByPrimaryKeySelective(Favorite record);

    int updateByPrimaryKey(Favorite record);

    List getTypeListByUserId(Integer userId);

    Favorite getFavoriteById(Integer favoriteId);

    int editSave(Favorite favorite);

    int deleteFavorite(Integer favoriteId);

    List getFavoritesById(Integer favoriteId);

    /**
     * 通过用户ID查询该用户的收藏歌单名称
     */
    List<String> selectSheetNameLisetByUserId(Integer userId);

    /**
     * 指定userID对指定musicID的收藏取消
     */
    int cancelCollection(@Param("userId") Integer userId, @Param("musicId") Integer musicId);

    /**
     * 指定userID对指定musicID的收藏到指定收藏歌单中
     */
    int songCollection(@Param("userId") Integer userId,@Param("musicId") Integer musicId,@Param("name") String name);

    /**
     * 指定userID新建收藏歌单
     */
    int newCollectionSheet(@Param("userId") Integer userId,@Param("name") String name,@Param("creatTime") Date creatTime);
}